In television broadcast systems, a television picture is referred to as a "raster". A raster consists of 525 horizontal lines of video data sent over the course of two successive fields. These lines are transmitted and then displayed in a receiving television set sequentially; however, they are displayed with such speed that a viewer sees only the complete picture, not individual lines. The first several lines of video data are not intended for display. These lines are said to be "blanked", and the time interval associated with these lines is referred to as the vertical blanking interval (VBI). VBI lines are often used to transmit a variety of test and control signals as well as certain types of data.
Various services make use of the VBI to transmit data, including Closed Caption for the hearing-impaired, A. C. Nielson program identification, and teletext news services. A variety of different data formats are used to support these various services. Although the television broadcast systems which are generally in use today transmit an analog signal, VBI data is essentially transmitted in a serial bitstream format. This is accomplished by switching the analog television signal between its highest and lowest amplitude levels. The VBI data is provided at a frequency which is an integer multiple of the horizontal line rate; the particular multiple used depends upon the VBI format being used (e.g., Closed Caption, Nielson, etc.).
Various different solutions exist for extracting the VBI data from a television signal. However, these solutions generally support only one VBI data format. Rapidly changing business and market conditions suggest that different VBI data formats may appear on different lines of video in different geographic regions. Further, VBI data formats may vary depending upon the cable television service provider. Therefore, maximum flexibility to decode multiple formats is desirable. However, separate hardware solutions supporting multiple formats would be cumbersome and expensive and would not be conducive to implementation in a board-level product. Software solutions, on the other hand, often have other disadvantages, such as being computationally intensive, requiring higher volumes of data transfer over the host interface, and incompatibility with the use of most video scalers. In addition, some VBI data formats, but not all, provide a "run-in" clock within the data stream to assist decoding circuitry in synchronizing to the data stream; such formats are referred to as "synchronous". Yet synchronous VBI data extraction solutions tend to be susceptible to phase error and instability. Consequently, an asynchronous VBI data extraction solution that is capable of decoding any VBI data format is desirable.